package cn.chenyumeng.blog.dto;

/**
 * 返回状态码
 *
 * @program: blog->ResultCode
 * @description: 返回状态码
 * @author: cg
 * @create: 2020-07-17 23:10
 **/
public enum ResultCode {

    /**
     * 成功状态
     */
    SUCCESS(200, "成功"),

    /*系统异常：4001-4999*/
    SYS_ERROR(4000, "系统异常，请稍后重试"),

    /**
     * 资源未找到: 404
     */
    NOT_FOUND(404, "资源未找到"),

    /**
     * 参数错误：1001-1999
     */
    PARAM_IS_INVALID(1001, "参数无效"),
    PARAM_IS_BLANK(1002, "参数为空"),
    PARAM_TYPE_BIND_ERROR(1003, "参数类型错误"),
    PARAM_NOT_COMPLETE(1004, "参数缺失"),
    PARAM_IS_EXIST(1005, "数据重复"),
    /**
     * 用户错误：2001-2999
     */
    USER_NOT_LOGGED_IN(2001, "用户未登录，请登录后重试"),
    USER_LOGIN_ERROR(2002, "账号不存在或密码错误"),
    USER_ACCOUNT_FORBIDDEN(2003, "账号已被禁用"),
    USER_NOT_EXIST(2004, "用户不存在"),
    USER_HAS_EXISTED(2005, "账号已存在");
    /**
     * 状态码
     */
    private Integer code;
    /**
     * 提示信息
     */
    private String message;

    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
